/**
 * Created by Administrator on 2017/12/11 0011.
 */
/*!
 * vue-resource v1.0.3
 * https://github.com/vuejs/vue-resource
 * Released under the MIT License.
 */

!function (t, n) {
    "object" == typeof exports && "undefined" != typeof module ? module.exports = n() : "function" == typeof define && define.amd ? define(n) : t.VueResource = n()
}(this, function () {
    "use strict";

    function t(t) {
        this.state = it, this.value = void 0, this.deferred = [];
        var n = this;
        try {
            t(function (t) {
                n.resolve(t)
            }, function (t) {
                n.reject(t)
            })
        } catch (t) {
            n.reject(t)
        }
    }

    function n(t, n) {
        t instanceof Promise ? this.promise = t : this.promise = new Promise(t.bind(n)), this.context = n
    }

    function e(t) {
        at = t.util, ct = t.config.debug || !t.config.silent
    }

    function o(t) {
        "undefined" != typeof console && ct && console.warn("[VueResource warn]: " + t)
    }

    function r(t) {
        "undefined" != typeof console && console.error(t)
    }

    function i(t, n) {
        return at.nextTick(t, n)
    }

    function u(t) {
        return t.replace(/^\s*|\s*$/g, "")
    }

    function s(t) {
        return t ? t.toLowerCase() : ""
    }

    function c(t) {
        return t ? t.toUpperCase() : ""
    }

    function a(t) {
        return "string" == typeof t
    }

    function f(t) {
        return t === !0 || t === !1
    }

    function h(t) {
        return "function" == typeof t
    }

    function p(t) {
        return null !== t && "object" == typeof t
    }

    function l(t) {
        return p(t) && Object.getPrototypeOf(t) == Object.prototype
    }

    function d(t) {
        return "undefined" != typeof Blob && t instanceof Blob
    }

    function m(t) {
        return "undefined" != typeof FormData && t instanceof FormData
    }

    function y(t, e, o) {
        var r = n.resolve(t);
        return arguments.length < 2 ? r : r.then(e, o)
    }

    function v(t, n, e) {
        return e = e || {}, h(e) && (e = e.call(n)), g(t.bind({$vm: n, $options: e}), t, {$options: e})
    }

    function b(t, n) {
        var e, o;
        if (t && "number" == typeof t.length) for (e = 0; e < t.length; e++) n.call(t[e], t[e], e); else if (p(t)) for (o in t) t.hasOwnProperty(o) && n.call(t[o], t[o], o);
        return t
    }

    function g(t) {
        var n = ft.call(arguments, 1);
        return n.forEach(function (n) {
            x(t, n, !0)
        }), t
    }

    function w(t) {
        var n = ft.call(arguments, 1);
        return n.forEach(function (n) {
            for (var e in n) void 0 === t[e] && (t[e] = n[e])
        }), t
    }

    function T(t) {
        var n = ft.call(arguments, 1);
        return n.forEach(function (n) {
            x(t, n)
        }), t
    }

    function x(t, n, e) {
        for (var o in n) e && (l(n[o]) || ht(n[o])) ? (l(n[o]) && !l(t[o]) && (t[o] = {}), ht(n[o]) && !ht(t[o]) && (t[o] = []), x(t[o], n[o], e)) : void 0 !== n[o] && (t[o] = n[o])
    }

    function j(t, n) {
        var e = n(t);
        return a(t.root) && !e.match(/^(https?:)?\//) && (e = t.root + "/" + e), e
    }

    function E(t, n) {
        var e = Object.keys(k.options.params), o = {}, r = n(t);
        return b(t.params, function (t, n) {
            e.indexOf(n) === -1 && (o[n] = t)
        }), o = k.params(o), o && (r += (r.indexOf("?") == -1 ? "?" : "&") + o), r
    }

    function O(t, n, e) {
        var o = P(t), r = o.expand(n);
        return e && e.push.apply(e, o.vars), r
    }

    function P(t) {
        var n = ["+", "#", ".", "/", ";", "?", "&"], e = [];
        return {
            vars: e, expand: function (o) {
                return t.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (t, r, i) {
                    if (r) {
                        var u = null, s = [];
                        if (n.indexOf(r.charAt(0)) !== -1 && (u = r.charAt(0), r = r.substr(1)), r.split(/,/g).forEach(function (t) {
                                var n = /([^:\*]*)(?::(\d+)|(\*))?/.exec(t);
                                s.push.apply(s, C(o, u, n[1], n[2] || n[3])), e.push(n[1])
                            }), u && "+" !== u) {
                            var c = ",";
                            return "?" === u ? c = "&" : "#" !== u && (c = u), (0 !== s.length ? u : "") + s.join(c)
                        }
                        return s.join(",")
                    }
                    return U(i)
                })
            }
        }
    }

    function C(t, n, e, o) {
        var r = t[e], i = [];
        if ($(r) && "" !== r) if ("string" == typeof r || "number" == typeof r || "boolean" == typeof r) r = r.toString(), o && "*" !== o && (r = r.substring(0, parseInt(o, 10))), i.push(R(n, r, A(n) ? e : null)); else if ("*" === o) Array.isArray(r) ? r.filter($).forEach(function (t) {
            i.push(R(n, t, A(n) ? e : null))
        }) : Object.keys(r).forEach(function (t) {
            $(r[t]) && i.push(R(n, r[t], t))
        }); else {
            var u = [];
            Array.isArray(r) ? r.filter($).forEach(function (t) {
                u.push(R(n, t))
            }) : Object.keys(r).forEach(function (t) {
                $(r[t]) && (u.push(encodeURIComponent(t)), u.push(R(n, r[t].toString())))
            }), A(n) ? i.push(encodeURIComponent(e) + "=" + u.join(",")) : 0 !== u.length && i.push(u.join(","))
        } else ";" === n ? i.push(encodeURIComponent(e)) : "" !== r || "&" !== n && "?" !== n ? "" === r && i.push("") : i.push(encodeURIComponent(e) + "=");
        return i
    }

    function $(t) {
        return void 0 !== t && null !== t
    }

    function A(t) {
        return ";" === t || "&" === t || "?" === t
    }

    function R(t, n, e) {
        return n = "+" === t || "#" === t ? U(n) : encodeURIComponent(n), e ? encodeURIComponent(e) + "=" + n : n
    }

    function U(t) {
        return t.split(/(%[0-9A-Fa-f]{2})/g).map(function (t) {
            return /%[0-9A-Fa-f]/.test(t) || (t = encodeURI(t)), t
        }).join("")
    }

    function S(t) {
        var n = [], e = O(t.url, t.params, n);
        return n.forEach(function (n) {
            delete t.params[n]
        }), e
    }

    function k(t, n) {
        var e, o = this || {}, r = t;
        return a(t) && (r = {
            url: t,
            params: n
        }), r = g({}, k.options, o.$options, r), k.transforms.forEach(function (t) {
            e = I(t, e, o.$vm)
        }), e(r)
    }

    function I(t, n, e) {
        return function (o) {
            return t.call(e, o, n)
        }
    }

    function H(t, n, e) {
        var o, r = ht(n), i = l(n);
        b(n, function (n, u) {
            o = p(n) || ht(n), e && (u = e + "[" + (i || o ? u : "") + "]"), !e && r ? t.add(n.name, n.value) : o ? H(t, n, u) : t.add(u, n)
        })
    }

    function L(t) {
        return new n(function (n) {
            var e = new XDomainRequest, o = function (o) {
                var r = o.type, i = 0;
                "load" === r ? i = 200 : "error" === r && (i = 500), n(t.respondWith(e.responseText, {status: i}))
            };
            t.abort = function () {
                return e.abort()
            }, e.open(t.method, t.getUrl()), e.timeout = 0, e.onload = o, e.onerror = o, e.ontimeout = o, e.onprogress = function () {
            }, e.send(t.getBody())
        })
    }

    function N(t, n) {
        !f(t.crossOrigin) && q(t) && (t.crossOrigin = !0), t.crossOrigin && (yt || (t.client = L), delete t.emulateHTTP), n()
    }

    function q(t) {
        var n = k.parse(k(t));
        return n.protocol !== mt.protocol || n.host !== mt.host
    }

    function B(t, n) {
        m(t.body) ? t.headers.delete("Content-Type") : (p(t.body) || ht(t.body)) && (t.emulateJSON ? (t.body = k.params(t.body), t.headers.set("Content-Type", "application/x-www-form-urlencoded")) : t.body = JSON.stringify(t.body)), n(function (t) {
            return Object.defineProperty(t, "data", {
                get: function () {
                    return this.body
                }, set: function (t) {
                    this.body = t
                }
            }), t.bodyText ? y(t.text(), function (n) {
                var e = t.headers.get("Content-Type");
                if (a(e) && 0 === e.indexOf("application/json")) try {
                    t.body = JSON.parse(n)
                } catch (n) {
                    t.body = null
                } else t.body = n;
                return t
            }) : t
        })
    }

    function J(t) {
        return new n(function (n) {
            var e, o, r = t.jsonp || "callback", i = "_jsonp" + Math.random().toString(36).substr(2), u = null;
            e = function (e) {
                var r = e.type, s = 0;
                "load" === r && null !== u ? s = 200 : "error" === r && (s = 500), n(t.respondWith(u, {status: s})), delete window[i], document.body.removeChild(o)
            }, t.params[r] = i, window[i] = function (t) {
                u = JSON.stringify(t)
            }, o = document.createElement("script"), o.src = t.getUrl(), o.type = "text/javascript", o.async = !0, o.onload = e, o.onerror = e, document.body.appendChild(o)
        })
    }

    function D(t, n) {
        "JSONP" == t.method && (t.client = J), n(function (n) {
            if ("JSONP" == t.method) return y(n.json(), function (t) {
                return n.body = t, n
            })
        })
    }

    function M(t, n) {
        h(t.before) && t.before.call(this, t), n()
    }

    function X(t, n) {
        t.emulateHTTP && /^(PUT|PATCH|DELETE)$/i.test(t.method) && (t.headers.set("X-HTTP-Method-Override", t.method), t.method = "POST"), n()
    }

    function F(t, n) {
        var e = pt({}, Z.headers.common, t.crossOrigin ? {} : Z.headers.custom, Z.headers[s(t.method)]);
        b(e, function (n, e) {
            t.headers.has(e) || t.headers.set(e, n)
        }), n()
    }

    function W(t, n) {
        var e;
        t.timeout && (e = setTimeout(function () {
            t.abort()
        }, t.timeout)), n(function (t) {
            clearTimeout(e)
        })
    }

    function G(t) {
        return new n(function (n) {
            var e = new XMLHttpRequest, o = function (o) {
                var r = t.respondWith("response" in e ? e.response : e.responseText, {
                    status: 1223 === e.status ? 204 : e.status,
                    statusText: 1223 === e.status ? "No Content" : u(e.statusText)
                });
                b(u(e.getAllResponseHeaders()).split("\n"), function (t) {
                    r.headers.append(t.slice(0, t.indexOf(":")), t.slice(t.indexOf(":") + 1))
                }), n(r)
            };
            t.abort = function () {
                return e.abort()
            }, t.progress && ("GET" === t.method ? e.addEventListener("progress", t.progress) : /^(POST|PUT)$/i.test(t.method) && e.upload.addEventListener("progress", t.progress)), e.open(t.method, t.getUrl(), !0), "responseType" in e && (e.responseType = "blob"), t.credentials === !0 && (e.withCredentials = !0), t.headers.forEach(function (t, n) {
                e.setRequestHeader(n, t)
            }), e.timeout = 0, e.onload = o, e.onerror = o, e.send(t.getBody())
        })
    }

    function V(t) {
        function e(e) {
            return new n(function (n) {
                function s() {
                    r = i.pop(), h(r) ? r.call(t, e, c) : (o("Invalid interceptor of type " + typeof r + ", must be a function"), c())
                }

                function c(e) {
                    if (h(e)) u.unshift(e); else if (p(e)) return u.forEach(function (n) {
                        e = y(e, function (e) {
                            return n.call(t, e) || e
                        })
                    }), void y(e, n);
                    s()
                }

                s()
            }, t)
        }

        var r, i = [_], u = [];
        return p(t) || (t = null), e.use = function (t) {
            i.push(t)
        }, e
    }

    function _(t, n) {
        var e = t.client || G;
        n(e(t))
    }

    function z(t, n) {
        return Object.keys(t).reduce(function (t, e) {
            return s(n) === s(e) ? e : t
        }, null)
    }

    function K(t) {
        if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t)) throw new TypeError("Invalid character in header field name");
        return u(t)
    }

    function Q(t) {
        return new n(function (n) {
            var e = new FileReader;
            e.readAsText(t), e.onload = function () {
                n(e.result)
            }
        })
    }

    function Y(t) {
        return 0 === t.type.indexOf("text") || t.type.indexOf("json") !== -1
    }

    function Z(t) {
        var e = this || {}, o = V(e.$vm);
        return w(t || {}, e.$options, Z.options), Z.interceptors.forEach(function (t) {
            o.use(t)
        }), o(new wt(t)).then(function (t) {
            return t.ok ? t : n.reject(t)
        }, function (t) {
            return t instanceof Error && r(t), n.reject(t)
        })
    }

    function tt(t, n, e, o) {
        var r = this || {}, i = {};
        return e = pt({}, tt.actions, e), b(e, function (e, u) {
            e = g({url: t, params: pt({}, n)}, o, e), i[u] = function () {
                return (r.$http || Z)(nt(e, arguments))
            }
        }), i
    }

    function nt(t, n) {
        var e, o = pt({}, t), r = {};
        switch (n.length) {
            case 2:
                r = n[0], e = n[1];
                break;
            case 1:
                /^(POST|PUT|PATCH)$/i.test(o.method) ? e = n[0] : r = n[0];
                break;
            case 0:
                break;
            default:
                throw"Expected up to 4 arguments [params, body], got " + n.length + " arguments"
        }
        return o.body = e, o.params = pt({}, o.params, r), o
    }

    function et(t) {
        et.installed || (e(t), t.url = k, t.http = Z, t.resource = tt, t.Promise = n, Object.defineProperties(t.prototype, {
            $url: {
                get: function () {
                    return v(t.url, this, this.$options.url)
                }
            }, $http: {
                get: function () {
                    return v(t.http, this, this.$options.http)
                }
            }, $resource: {
                get: function () {
                    return t.resource.bind(this)
                }
            }, $promise: {
                get: function () {
                    var n = this;
                    return function (e) {
                        return new t.Promise(e, n)
                    }
                }
            }
        }))
    }

    var ot = 0, rt = 1, it = 2;
    t.reject = function (n) {
        return new t(function (t, e) {
            e(n)
        })
    }, t.resolve = function (n) {
        return new t(function (t, e) {
            t(n)
        })
    }, t.all = function (n) {
        return new t(function (e, o) {
            function r(t) {
                return function (o) {
                    u[t] = o, i += 1, i === n.length && e(u)
                }
            }

            var i = 0, u = [];
            0 === n.length && e(u);
            for (var s = 0; s < n.length; s += 1) t.resolve(n[s]).then(r(s), o)
        })
    }, t.race = function (n) {
        return new t(function (e, o) {
            for (var r = 0; r < n.length; r += 1) t.resolve(n[r]).then(e, o)
        })
    };
    var ut = t.prototype;
    ut.resolve = function (t) {
        var n = this;
        if (n.state === it) {
            if (t === n) throw new TypeError("Promise settled with itself.");
            var e = !1;
            try {
                var o = t && t.then;
                if (null !== t && "object" == typeof t && "function" == typeof o) return void o.call(t, function (t) {
                    e || n.resolve(t), e = !0
                }, function (t) {
                    e || n.reject(t), e = !0
                })
            } catch (t) {
                return void(e || n.reject(t))
            }
            n.state = ot, n.value = t, n.notify()
        }
    }, ut.reject = function (t) {
        var n = this;
        if (n.state === it) {
            if (t === n) throw new TypeError("Promise settled with itself.");
            n.state = rt, n.value = t, n.notify()
        }
    }, ut.notify = function () {
        var t = this;
        i(function () {
            if (t.state !== it) for (; t.deferred.length;) {
                var n = t.deferred.shift(), e = n[0], o = n[1], r = n[2], i = n[3];
                try {
                    t.state === ot ? r("function" == typeof e ? e.call(void 0, t.value) : t.value) : t.state === rt && ("function" == typeof o ? r(o.call(void 0, t.value)) : i(t.value))
                } catch (t) {
                    i(t)
                }
            }
        })
    }, ut.then = function (n, e) {
        var o = this;
        return new t(function (t, r) {
            o.deferred.push([n, e, t, r]), o.notify()
        })
    }, ut.catch = function (t) {
        return this.then(void 0, t)
    }, "undefined" == typeof Promise && (window.Promise = t), n.all = function (t, e) {
        return new n(Promise.all(t), e)
    }, n.resolve = function (t, e) {
        return new n(Promise.resolve(t), e)
    }, n.reject = function (t, e) {
        return new n(Promise.reject(t), e)
    }, n.race = function (t, e) {
        return new n(Promise.race(t), e)
    };
    var st = n.prototype;
    st.bind = function (t) {
        return this.context = t, this
    }, st.then = function (t, e) {
        return t && t.bind && this.context && (t = t.bind(this.context)), e && e.bind && this.context && (e = e.bind(this.context)), new n(this.promise.then(t, e), this.context)
    }, st.catch = function (t) {
        return t && t.bind && this.context && (t = t.bind(this.context)), new n(this.promise.catch(t), this.context)
    }, st.finally = function (t) {
        return this.then(function (n) {
            return t.call(this), n
        }, function (n) {
            return t.call(this), Promise.reject(n)
        })
    };
    var ct = !1, at = {}, ft = [].slice, ht = Array.isArray, pt = Object.assign || T, lt = document.documentMode,
        dt = document.createElement("a");
    k.options = {url: "", root: null, params: {}}, k.transforms = [S, E, j], k.params = function (t) {
        var n = [], e = encodeURIComponent;
        return n.add = function (t, n) {
            h(n) && (n = n()), null === n && (n = ""), this.push(e(t) + "=" + e(n))
        }, H(n, t), n.join("&").replace(/%20/g, "+")
    }, k.parse = function (t) {
        return lt && (dt.href = t, t = dt.href), dt.href = t, {
            href: dt.href,
            protocol: dt.protocol ? dt.protocol.replace(/:$/, "") : "",
            port: dt.port,
            host: dt.host,
            hostname: dt.hostname,
            pathname: "/" === dt.pathname.charAt(0) ? dt.pathname : "/" + dt.pathname,
            search: dt.search ? dt.search.replace(/^\?/, "") : "",
            hash: dt.hash ? dt.hash.replace(/^#/, "") : ""
        }
    };
    var mt = k.parse(location.href), yt = "withCredentials" in new XMLHttpRequest, vt = function (t, n) {
            if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
        }, bt = function () {
            function t(n) {
                var e = this;
                vt(this, t), this.map = {}, b(n, function (t, n) {
                    return e.append(n, t)
                })
            }

            return t.prototype.has = function (t) {
                return null !== z(this.map, t)
            }, t.prototype.get = function (t) {
                var n = this.map[z(this.map, t)];
                return n ? n[0] : null
            }, t.prototype.getAll = function (t) {
                return this.map[z(this.map, t)] || []
            }, t.prototype.set = function (t, n) {
                this.map[K(z(this.map, t) || t)] = [u(n)]
            }, t.prototype.append = function (t, n) {
                var e = this.getAll(t);
                e.length ? e.push(u(n)) : this.set(t, n)
            }, t.prototype.delete = function (t) {
                delete this.map[z(this.map, t)]
            }, t.prototype.forEach = function (t, n) {
                var e = this;
                b(this.map, function (o, r) {
                    b(o, function (o) {
                        return t.call(n, o, r, e)
                    })
                })
            }, t
        }(), gt = function () {
            function t(n, e) {
                var o = e.url, r = e.headers, i = e.status, u = e.statusText;
                vt(this, t), this.url = o, this.ok = i >= 200 && i < 300, this.status = i || 0, this.statusText = u || "", this.headers = new bt(r), this.body = n, a(n) ? this.bodyText = n : d(n) && (this.bodyBlob = n, Y(n) && (this.bodyText = Q(n)))
            }

            return t.prototype.blob = function () {
                return y(this.bodyBlob)
            }, t.prototype.text = function () {
                return y(this.bodyText)
            }, t.prototype.json = function () {
                return y(this.text(), function (t) {
                    return JSON.parse(t)
                })
            }, t
        }(), wt = function () {
            function t(n) {
                vt(this, t), this.body = null, this.params = {}, pt(this, n, {method: c(n.method || "GET")}), this.headers instanceof bt || (this.headers = new bt(this.headers))
            }

            return t.prototype.getUrl = function () {
                return k(this)
            }, t.prototype.getBody = function () {
                return this.body
            }, t.prototype.respondWith = function (t, n) {
                return new gt(t, pt(n || {}, {url: this.getUrl()}))
            }, t
        }(), Tt = {"X-Requested-With": "XMLHttpRequest"}, xt = {Accept: "application/json, text/plain, */*"},
        jt = {"Content-Type": "application/json;charset=utf-8"};
    return Z.options = {}, Z.headers = {
        put: jt,
        post: jt,
        patch: jt,
        delete: jt,
        custom: Tt,
        common: xt
    }, Z.interceptors = [M, W, X, B, D, F, N], ["get", "delete", "head", "jsonp"].forEach(function (t) {
        Z[t] = function (n, e) {
            return this(pt(e || {}, {url: n, method: t}))
        }
    }), ["post", "put", "patch"].forEach(function (t) {
        Z[t] = function (n, e, o) {
            return this(pt(o || {}, {url: n, method: t, body: e}))
        }
    }), tt.actions = {
        get: {method: "GET"},
        save: {method: "POST"},
        query: {method: "GET"},
        update: {method: "PUT"},
        remove: {method: "DELETE"},
        delete: {method: "DELETE"}
    }, "undefined" != typeof window && window.Vue && window.Vue.use(et), et
});